package configs

import (
	"encoding/json"
	"fmt"
	"os"
)

type Config struct {
	ServerPort string `json:"server_port"`
	Database   struct {
		Host     string `json:"host"`
		Port     string `json:"port"`
		Username string `json:"username"`
		Password string `json:"password"`
		Name     string `json:"name"`
	} `json:"database"`
	LogFilePaths struct {
		ErrorLogPath string `json:"error_log_path"`
		InfoLogPath  string `json:"info_log_path"`
	} `json:"log_file_paths"`
	// 可以根据需要添加其他配置项
}

var AppConfig Config

func LoadConfig(filePath string) error {
	file, err := os.Open(filePath)
	if err != nil {
		return fmt.Errorf("failed to open config file: %w", err)
	}
	defer file.Close()

	decoder := json.NewDecoder(file)
	if err := decoder.Decode(&AppConfig); err != nil {
		return fmt.Errorf("failed to decode config file: %w", err)
	}

	return nil
}
